package com.zyf.project.binaryproto.contract;

/**
 * <h1>数据契约编码检索器</h1>
 *
 * @author Zhou Yifan
 */
public interface DataContractEncoderLookup {

    /**
     * 检索指定类型的编码器；
     *
     * @param contractType 指定类型
     * @return {@link DataContractEncoder}
     */
    DataContractEncoder lookup(Class<?> contractType);

    /**
     * 检索指定 code 和 version 的编码器；
     *
     * @param code    指定编码
     * @param version 指定版本
     * @return {@link DataContractEncoder}
     */
    DataContractEncoder lookup(int code, long version);

}
